#pragma once

#include <iostream>

using std::cout;
using std::endl;

class CookImp
{
public:
	virtual ~CookImp() {}
	virtual void Cook() = 0;
protected:
	CookImp() {}
private:
};

class FryImp : public CookImp
{
public:
	FryImp() {}
	~FryImp() {}
	void Cook() { cout << "The cook is fried." << endl; }
protected:
private:
};

class SteamImp : public CookImp
{
public:
	SteamImp() {}
	~SteamImp() {}
	void Cook() { cout << "The cook is steamed." << endl; }
protected:
private:
};